Bitwise Class

Performs bitwise operations on integers.

Events

None

Properties

None

Methods

BitAnd

BitOr

BitXor

OnesComplement

ShiftLeft

ShiftRight


More information available in parent classes: Object


Notes

The BitwiseAnd, BitwiseOr, and BitwiseXor functions are obsolete. Use the corresponding methods of the Bitwise class.

You do not need to create an instance of the Bitwise class in order to access its methods. It's a special object, like System or Application, that always exists.

The BitAnd method returns an Integer that is the result of comparing each bit of the two integers passed (or contiguous integers passed if passing three or more integers) and assigning 1 to the bit position in the integer returned if both bits in the same position in the integers passed are 1. Otherwise, 0 is assigned to the bit position.

The BitOr method returns an Integer that is the result of comparing each bit of the two integers passed (or contiguous integers passed if passing three or more integers) and assigning 1 to the bit position in the integer returned if either of the bits in the same position in the integers passed are 1. Otherwise, 0 is assigned to the bit position.

The BitXor method returns an Integer that is the result of comparing each bit of the two integers passed (or contiguous integers passed if passing three or more integers) and assigning 1 to the bit position in the integer returned if both bits in the same position in the integers passed are not equal. Otherwise, 0 is assigned to the bit position.

Ones complement is sometimes used to represent positive and negative numbers. Positive numbers start with zeros and negative numbers start with ones. The only problem is that zero is represented two ways

DecimalOnes complementSigned Decimal
0 000 0
1 001 1
2 010 2
3 011 3
4 100 -3
5 101 -2
6 110 -1
7 111 -0


Example

Dim i as Integer
i=Bitwise .bitand(5,3) //returns 1
i=Bitwise.bitor(5,3) //returns 7
i=Bitwise.bitxor(5,3) //returns 6

The following example illustrates how to re-express a bit expression that was written in C in REALbasic. The following expression in C:

(0xE0 | ((c >> 12) & 0x0F))

would become:

Bitwise.BitOr( &hE0,Bitwise.BitAnd(Bitwise.ShiftRight(c, 12), &h0F))